package com.chixing.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 *
 * </p>
 *
 * @author liwenjing
 * @since 2025-10-07
 */
@TableName("order_base")
public class OrderBase implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 订单ID
     */
    @TableId(value = "order_id", type = IdType.AUTO)
    private Integer orderId;

    /**
     * 订单编号
     */
    private String orderNumber;

    /**
     * 场次ID
     */
    private Integer scheduleId;

    /**
     * 用户ID
     */
    private Integer userId;

    /**
     * 下单时间
     */
    private LocalDateTime orderTime;

    /**
     * 订单原始价格
     */
    private BigDecimal originalPrice;

    /**
     * 用户领取的优惠券ID
     */
    private Integer userCouponId;

    /**
     * 订单最终价格
     */
    private BigDecimal finalPrice;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 更新时间
     */
    private LocalDateTime updateTime;

    /**
     * 座位坐标
     */
    private String seatCoordinates;

    /**
     * 状态（1正常/2退票/3取消）
     */
    private Integer statues;

    /**
     * 版本号
     */
    private Integer version;

    public String getTicketCode() {
        return ticketCode;
    }

    public void setTicketCode(String ticketCode) {
        this.ticketCode = ticketCode;
    }

    /**
     * 取票码
     */
    private String ticketCode;

    /**
     * 其他字段2
     */
    private String movieId;
    private Boolean timeoutChecked = false;

    public Boolean getTimeoutChecked() {
        return timeoutChecked;
    }

    public void setTimeoutChecked(Boolean timeoutChecked) {
        this.timeoutChecked = timeoutChecked;
    }

    public Integer getOrderId() {
        return orderId;
    }

    public void setOrderId(Integer orderId) {
        this.orderId = orderId;
    }
    public String getOrderNumber() {
        return orderNumber;
    }

    public void setOrderNumber(String orderNumber) {
        this.orderNumber = orderNumber;
    }
    public Integer getScheduleId() {
        return scheduleId;
    }

    public void setScheduleId(Integer scheduleId) {
        this.scheduleId = scheduleId;
    }
    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }
    public LocalDateTime getOrderTime() {
        return orderTime;
    }

    public void setOrderTime(LocalDateTime orderTime) {
        this.orderTime = orderTime;
    }
    public BigDecimal getOriginalPrice() {
        return originalPrice;
    }

    public void setOriginalPrice(BigDecimal originalPrice) {
        this.originalPrice = originalPrice;
    }
    public Integer getUserCouponId() {
        return userCouponId;
    }

    public void setUserCouponId(Integer userCouponId) {
        this.userCouponId = userCouponId;
    }
    public BigDecimal getFinalPrice() {
        return finalPrice;
    }

    public void setFinalPrice(BigDecimal finalPrice) {
        this.finalPrice = finalPrice;
    }
    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }
    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }
    public String getSeatCoordinates() {
        return seatCoordinates;
    }

    public void setSeatCoordinates(String seatCoordinates) {
        this.seatCoordinates = seatCoordinates;
    }
    public Integer getStatues() {
        return statues;
    }

    public void setStatues(Integer statues) {
        this.statues = statues;
    }
    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    public String getMovieId() {
        return movieId;
    }

    public void setMovieId(String movieId) {
        this.movieId = movieId;
    }

    @Override
    public String toString() {
        return "OrderBase{" +
                "orderId=" + orderId +
                ", orderNumber='" + orderNumber + '\'' +
                ", scheduleId=" + scheduleId +
                ", userId=" + userId +
                ", orderTime=" + orderTime +
                ", originalPrice=" + originalPrice +
                ", userCouponId=" + userCouponId +
                ", finalPrice=" + finalPrice +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", seatCoordinates='" + seatCoordinates + '\'' +
                ", statues=" + statues +
                ", version=" + version +
                ", ticketCode='" + ticketCode + '\'' +
                ", other2='" + movieId + '\'' +
                '}';
    }
}
